//--------------------------------------------------------------------------------------------------------
// 
// Author: Zachary Gay
// Date: 8/23/2012
// Copyright (c) 2012 Zachary Gay.  All Rights Reserved.
//
// Filename: ManaProducingAbility.h
// Description:  The ManaProducingAbility class represents an ability of a ManaProducer to make its mana.
//                  A ManaProducer must have one or more ManaProducingAbilities for it to be a ManaProducer.
//
//--------------------------------------------------------------------------------------------------------

#import <Foundation/Foundation.h>

#warning Needs to conform to NSCopy
#warning Needs to be able to handle mana producing abilities that use OR (i.e. produce 2 red or 2 green)

@class ManaGroup;
@class ManaProducer;

@interface ManaProducingAbility : NSObject
{
    BOOL requiresTapping;
}

@property (nonatomic, strong) ManaGroup *produceableMana;
@property (nonatomic, weak) ManaProducer *myManaProducer;

- (ManaProducingAbility *) initWithProduceableMana: (ManaGroup *) _produceableMana 
                                   requiresTapping: (BOOL) _requiresTapping;

- (void) useManaAbility;

@end
